P+ - Zero Suit Samus - Common Subroutine 0xbc74
- loop Infinite times:
- if (not(Always LongtermAccessBool(HasCurry)))
- if ((InternalConstantInt(CurrentSubaction) Equal scalar(380)))
- SetAnimationAndTimerFrame(0.0)
- else
- Subroutine(0x805451a0)
- SyncWait(1.0)
- Subroutine(0x80545fc0)
- else
- if (HoldingItem)
- IfStatementAnd (SubactionExists value(5))
- if ((InternalConstantInt (0x5222) Equal scalar(5)))
- Subroutine(0x805451b8)
- SyncWait(1.0)
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: true, ty: Comparison }, Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 21026 }), Value(2), Scalar(5.0)] }
- else
- if ((InternalConstantInt(CurrentSubaction) Equal scalar(0)))
- SetAnimationAndTimerFrame(0.0)
- else
- Subroutine(0x805451d0)
- SyncWait(1.0)
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
- else
- Switch(1000, 0)
- Case(1)
- ChangeSubactionRestartFrame(Wait2)
- Case(2)
- ChangeSubactionRestartFrame(Wait3)
- Case(3)
- ChangeSubactionRestartFrame(NONE)
- Case(4)
- ChangeSubactionRestartFrame(NONE_1)
- Case(-1)
- SetAnimationAndTimerFrame(0.0)
- UnknownEvent { namespace: 0x0, code: 0x12, unk1: 0x0, arguments: [] }
- Subroutine(0x805451e8)
- EndSwitch
- SyncWait(1.0)
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
- LoopRest